home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / mweb / MWEB Utils / ws295sdk.exe / Ws2sdkzp.exe / SAMPLES / LAYERED / DCATITEM.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-06-06  |  2.6 KB  |  105 lines

  1. /*++
  2.  
  3.  
  4.      Copyright c 1996 Intel Corporation
  5.      All Rights Reserved
  6.  
  7.      Permission is granted to use, copy and distribute this software and
  8.      its documentation for any purpose and without fee, provided, that
  9.      the above copyright notice and this statement appear in all copies.
  10.      Intel makes no representations about the suitability of this
  11.      software for any purpose.  This software is provided "AS IS."
  12.  
  13.      Intel specifically disclaims all warranties, express or implied,
  14.      and all liability, including consequential and other indirect
  15.      damages, for the use of this software, including liability for
  16.      infringement of any proprietary rights, and including the
  17.      warranties of merchantability and fitness for a particular purpose.
  18.      Intel does not assume any responsibility for any errors which may
  19.      appear in this software nor any responsibility to update it.
  20.  
  21.  
  22. Module Name:
  23.  
  24.     dcatitem.h
  25.  
  26. Abstract:
  27.  
  28.     This  file  contains the class definition for the PROTO_CATALOG_ITEM class.
  29.     This  class  defines the interface to the entries that can be installed and
  30.     retrieved in the protocol catalog.
  31.  
  32. --*/
  33.  
  34. #ifndef _DCATITEM_
  35. #define _DCATITEM_
  36.  
  37.  
  38. #include <winsock2.h>
  39. #include "llist.h"
  40. #include "classfwd.h"
  41.  
  42.  
  43. class PROTO_CATALOG_ITEM {
  44. public:
  45.  
  46.     PROTO_CATALOG_ITEM();
  47.  
  48.     INT
  49.     Initialize(
  50.         LPWSAPROTOCOL_INFOW  ProtoInfo
  51.         );
  52.  
  53.  
  54.     ~PROTO_CATALOG_ITEM();
  55.  
  56.     LPWSAPROTOCOL_INFOW
  57.     GetProtocolInfo();
  58.  
  59.  
  60.     PWCHAR
  61.     GetLibraryPath();
  62.  
  63.     VOID
  64.     SetProvider(
  65.         IN  PDPROVIDER  Provider
  66.         );
  67.  
  68.     VOID
  69.     SetProviderCatalogEntry(
  70.         IN  PPROTO_CATALOG_ITEM  CatalogEntry
  71.         );
  72.  
  73.     PDPROVIDER
  74.     GetProvider();
  75.  
  76.     PPROTO_CATALOG_ITEM
  77.     GetProviderCatalogEntry();
  78.  
  79.     LIST_ENTRY     m_CatalogLinkage;
  80.     // Used  to  link  items  in  catalog.   Note  that  this particular member
  81.     // variable  is in the public section to make it available for manipulation
  82.     // by the catalog object.
  83.  
  84.  
  85. private:
  86.  
  87.     WCHAR m_LibraryPath[MAX_PATH];
  88.     // Fully qualified path to the provider's DLL image.
  89.  
  90.     WSAPROTOCOL_INFOW  m_ProtoInfo;
  91.     // The cataloged WSAPROTOCOL_INFOA structure.  This is typically used for
  92.     // comparison  when  selecting  a  provider by address family, socket
  93.     // type, etc.
  94.  
  95.     PDPROVIDER  m_Provider;
  96.     // Pointer to the dprovider object attached to this catalog entry.
  97.  
  98.     PPROTO_CATALOG_ITEM m_ProviderCatalogEntry;
  99.     // Pointer to the attached provider catalog item
  100.  
  101. };  // class PROTO_CATALOG_ITEM
  102.  
  103.  
  104. #endif // _DCATITEM_
  105.